/**
WOP_Ref_Entry

進一步定義Entry中的關於Ref基本attribute
Ref type可以視為就是記憶體中的pointer，內容不過是一組數字，指向實體的記憶體位址
嚴格來說，其實他就是long int。
當然，這邊我們用String (hash code)紀錄

賴念煒 -06/12/11 新增檔案。


12/19
新增unfold()，但部分功能未完成
12/20
突然想到一個問題，要是value是null呢？這問題尚未排除。
12/23
覆寫update與unfold

12/24


**/

#ifndef _WOP_Ref_Entry_H_
#define	_WOP_Ref_Entry_H_
/*------------------------------------------------------------*/
#include "WOP_Entry.h"
//#include "src/MappingTree.h"

class WOP_Ref_Entry:public WOP_Entry{

protected:
	WOP_Ref_Entry(){}
public:
	WOP_Ref_Entry(string s,WOP_Entry* parent);
	WOP_Ref_Entry(string s);
	void unfold();
	//展開Ref_Entry的內容
	bool update();
	virtual void updateRealValue(string s) { assert(false); }

	//更新自己，與他指到的資料
	string getTypeStr() { return std::string("ref"); }
	// add by Mike Chiu 2007/06/26
};
/*------------------------------------------------------------*/
#endif	//#ifndef _WOP_Ref_Entry_H_